package com.zmn.oms.model.dto.log;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.zmn.oms.common.dto.OmsOperator;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @author ：SongWeidong
 * @date ：2020/7/14 18:04
 * @description：通话记录
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class CallRecordLogDTO extends OmsOperator {

    /**
     * 主键ID
     */
    private String callId;

    /**
     * 主叫号码
     */
    private String callerNo;

    /**
     * 被叫号码
     */
    private String calledNo;

    /**
     * 主叫方类型
     */
    private Integer callType;

    /**
     * 被叫类型
     */
    private Integer calledType;

    /**
     * 接通状态 1 呼出：电话已呼出 ，2 呼通：被叫手机振铃 ，3 接听：被叫已接听电话
     */
    private Integer status;

    /**
     * 通话时长
     */
    private String callDuration;

    /**
     * 电话持续时长
     */
    private Integer callSustainDuration;

    /**
     * 记录类型 （1、普通通话 2、小号 3、im通话）
     */
    private Integer type;

    /**
     * 小号通话记录id
     */
    private String xnoRecordId;

    /**
     * 小号id
     */
    private String xnoNo;

    /**
     * 挂断方
     */
    private String hangup;

    /**
     * 挂断原因
     */
    private String finishState;

    /**
     * 结束状态
     */
    private Integer endState;

    /**
     * 录音地址
     */
    private String tapeUrl;

    /**
     * 通话拨打开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date callTime;

    /**
     * 通话接通开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date startTime;

    /**
     * 通话结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date finishTime;

    /**
     * 是否为有效童话 1:否(无效) 2:是(有效)
     */
    private Integer valid;

    /**
     * 响铃时长 单位：秒
     */
    private Integer ringDuration;

}
